package com.miukoo.aikao.qexam.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.miukoo.aikao.core.dtos.PageReqDto;
import com.miukoo.aikao.core.dtos.ExamDto;
import com.miukoo.aikao.qexam.dto.request.ExamSaveReqDto;
import com.miukoo.aikao.qexam.dto.response.ExamOnlineRespDto;
import com.miukoo.aikao.qexam.dto.response.ExamReviewRespDto;
import com.miukoo.aikao.qexam.pojos.Exam;

/**
* <p>
* 考试业务类
* </p>
*
* @author 聪明笨狗
* @since 2020-07-25 16:18
*/
public interface ExamService extends IService<Exam> {

    /**
     * 保存考试信息
     * @param reqDto
     */
    void save(ExamSaveReqDto reqDto);

    /**
     * 查找考试详情
     * @param id
     * @return
     */
    ExamSaveReqDto findDetail(Long id);

    /**
     * 查找考试详情--简要信息
     * @param id
     * @return
     */
    ExamDto findById(Long id);

    /**
    * 分页查询数据
    * @param reqDto
    * @return
    */
    IPage<ExamDto> paging(PageReqDto<ExamDto> reqDto);


    /**
     * 在线考试分页响应类-考生视角
     * @param reqDto
     * @return
     */
    IPage<ExamOnlineRespDto> onlinePaging(PageReqDto<ExamDto> reqDto, Long userId);


    /**
     * 待阅试卷列表
     * @param reqDto
     * @return
     */
    IPage<ExamReviewRespDto> reviewPaging(PageReqDto<ExamDto> reqDto);
}
